缘起

  • 要给测试支持一下,在SUSE Linux上安装libssh2,环境上有了openssl-1.0.1g和libssh2-1.8.0。

    • uname -a还看不了发行版本。只能使用cat /etc/issuelsb_release -a查看。

解决过程

第一步

  • 之前没有安装过,于是搜索一番。linux环境编译libssh2

    • 有且只找到一个合适的,当时一直卡在 -fPIC 参数的问题,虽解决./config的问题,但make时又报错。
  • 没招了,跟同事反馈了一下,给了一份简要的指导

第二步

  • 移交给测试后,她试了一下还是报错。fatal error:libssh2_config.h:No such file or directory

    • 这个大概率就是路径没有配置正确。-I/src -I/include
    • .profileexport LIBSSH2_HOME=/usr/local/libssh2,执行source .profile后,编译代码路径下的Makefile.incl.platform就能得值,执行就OK。

第三步

  • 说是HP和SUSE的还不太一样,HP的还需要再修改值。被勉励了 要自己多思考和定位,而不要总想着现成的
  • 想到了之前升级GCC6的时候,其实也这么配过,但没想过这么多,当时就是照着抄了。
  • 源代码编译时,要抽象出一些方法论来,确实思路都差不多。

内容

  cd openssl-1.0.1s/
  ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/ssl
  make && make install
  ./config shared --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/ssl
  make clean
  make && make install


cd libssh2-1.8.0/
  ./configure --prefix=/usr/local/libssh2 --with-openssl CPPFLAGS="-I/usr/local/openssl/include" LDFLAGS="-L/usr/local/openssl/lib"
  make clean
  make && make install

其它

  • 20190128安装的,20190129整理。

im天行
35 声望198 粉丝